package com.chatplus.application.domain.dto;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

@JsonIgnoreProperties(ignoreUnknown = true)
@Data
public class AdminConfigDto implements Serializable {
    /**
     * admin_title : ChatPlus 控制台
     * chat_call_price : 0.1
     * default_models : ["eb-instant","completions_pro","generalv2","general","chatglm_pro","gpt-3.5-turbo-16k","chatglm_lite","chatglm_std","generalv3","qwen-max-1201"]
     * enabled_alipay : true
     * enabled_draw : true
     * enabled_function : true
     * enabled_msg : true
     * enabled_msg_service : false
     * enabled_register : true
     * enabled_reward : true
     * force_invite : false
     * img_call_price : 0.2
     * init_calls : 1000
     * init_chat_calls : 10
     * init_img_calls : 5
     * invite_calls : 10
     * invite_chat_calls : 100
     * invite_img_calls : 50
     * models : ["gpt-3.5-turbo-16k","gpt-3.5-turbo","gpt-4","gpt-4-32k"]
     * order_pay_info_text : 成为本站会员后每月有500次对话额度，50次 AI 绘画额度，限制下月1号解除，若在期间超过次数后可单独购买点卡。当月充值的点卡有效期可以延期到下个月底。
     * order_pay_timeout : 1800
     * register_ways : ["mobile","email"]
     * reward_img : https://img.r9it.com/chatgpt-plus/1696824231905289.png
     * show_demo_notice : true
     * title : ChatPlus AI 智能助手
     * user_init_calls : 10
     * vip_month_calls : 500
     * vip_month_img_calls : 50
     * wechat_card_url : /images/wx.png
     */

    @JsonProperty("admin_title")
    private String admTitle;
    @JsonProperty("chat_call_price")
    private double chatCallPrice;
    @JsonProperty("enabled_alipay")
    private boolean enabledAlipay;
    @JsonProperty("enabled_draw")
    private boolean enabledDraw;
    @JsonProperty("enabled_function")
    private boolean enabledFunction;
    @JsonProperty("enabled_msg")
    private boolean enabledMsg;
    @JsonProperty("enabled_msg_service")
    private boolean enabledMsgService;
    @JsonProperty("enabled_register")
    private boolean enabledRegister;
    @JsonProperty("enabled_reward")
    private boolean enabledReward;
    @JsonProperty("force_invite")
    private boolean forceInvite;
    @JsonProperty("img_call_price")
    private double imgCallPrice;

    // 初始用户调用次数
    @JsonProperty("init_chat_calls")
    private Integer initChatCalls;
    @JsonProperty("init_img_calls")
    private Integer initImgCalls;

    // 邀请用户奖励次数
    @JsonProperty("invite_chat_calls")
    private Integer inviteChatCalls;
    @JsonProperty("invite_img_calls")
    private Integer inviteImgCalls;

    // 会员月卡调用次数
    @JsonProperty("vip_day_chat_calls")
    private Integer vipDayChatCalls;
    @JsonProperty("vip_day_img_calls")
    private Integer vipDayImgCalls;

    @JsonProperty("order_pay_info_text")
    private String orderPayInfoText;
    @JsonProperty("order_pay_timeout")
    private Long orderPayTimeout;
    @JsonProperty("reward_img")
    private String rewardImg;
    @JsonProperty("show_demo_notice")
    private boolean showDemoNotice;
    @JsonProperty("title")
    private String title;

    @JsonProperty("wechat_card_url")
    private String wechatCardUrl;
    @JsonProperty("default_models")
    private List<String> defaultModels;
    @JsonProperty("models")
    private List<String> models;
    @JsonProperty("register_ways")
    private List<String> registerWays;

}
